//package netty.demo1;
//
//import io.netty.bootstrap.Bootstrap;
//import io.netty.channel.*;
//import io.netty.channel.nio.NioEventLoopGroup;
//import io.netty.channel.socket.SocketChannel;
//import io.netty.channel.socket.nio.NioSocketChannel;
//import io.netty.handler.codec.LineBasedFrameDecoder;
//import io.netty.handler.codec.string.StringDecoder;
//
//
//public class TimeClient {
//
//    public void connect(String host, int port) throws Exception {
//        EventLoopGroup group = new NioEventLoopGroup();
//        try{
//            Bootstrap b = new Bootstrap();
//            b.group(group).channel(NioSocketChannel.class)
//                    .option(ChannelOption.TCP_NODELAY, true)
//                    .handler(new ChannelInitializer<SocketChannel>() {
//                        @Override
//                        protected void initChannel(SocketChannel ch) throws Exception {
//                            ch.pipeline().addLast(new TimeClientHandler());
//                        }
//                    });
//
//            //发起异步连接操作
//            ChannelFuture f = b.connect(host, port).sync();
//            //等待客户端链路关闭
//            f.channel().closeFuture().sync();
//        }finally {
//            //优雅退出，释放NIO线程组
//            group.shutdownGracefully();
//        }
//    }
//
//    public static void main(String[] args) throws Exception{
//        new TimeClient().connect("localhost", 8080);
//    }
//}
